In a distributed type of database system, copied data for an object is distributed among a plurality of sites, and a plurality of transactions are concurrently executed. Therefore, it is very important to preserve consistency of copied data distributed over the system.
As one example of consistency managing method in a distributed type of database system based on the conventional technology, there is a so-called optimistic control system based on time stamps provided under centralized management (described as "optimistic control system" hereinafter). FIG. 21 is a block diagram showing general configuration of a distributed type of database system realizing the optimistic control system. This distributed type of database system comprises a main site 2100 having master data, and a plurality of database (DB) sites 2101 to 2104 each having copied data generated from the master data. The main site 2100 centralizedly manages consistency of the master data and copied data. When transaction for updating is generated in any of the DB sites 2101 to 2104, the DB sites 2101 to 2104 can not update copied data stored in the site before updating is permitted by the main site 2100.
Processing in the optimistic control system consists of three phases of read-out phase, check phase and write phase. Generally, in the read-out phase, data is read out and written in only a private area for transaction (in other words, work area). In the check phase, checking is executed for any conflict with other transaction for insuring the possibility of serialization. Further, in the write phase, when updating is permitted as a result of checking in the check phase, updated data is permanently written in a database at each of the DB sites 2101 to 2104, and when updating is not permitted, the transaction is aborted.
The read-put phase, check phase and write phase are specifically described with reference to FIG. 21. For instance, when transaction for updating is generated in the DB site 2101, the DB site 2101 reads out the copied data to be updated into the private area for transaction and updates the read-out copied data in the private area for transaction (read-out phase). Then the DB site 2101 transmits an updating request information including a value after updating to the main site 2100. In response to the request for updating from the DB sites 2101, the main site 2100 plays a role as an arbitrator for any conflicting request for updating and determines whether the request for updating is to be permitted or not (check phase). When the main site 2100 permits the request for updating, the DB site 2101 updates copied state stored in the site and executes processing for permanently writing the updated copied data (write phase). On the other hand, when the request for updating is not permitted because of any conflicting request for updating, the DB site 2101 aborts the generated transaction.
The main site 2100 determines whether the request for updating is to be permitted or not according to a time stamp given to the data to be updated. In addition, the main site 2100 updates, when permitting the request for updating, the master data, and transmits a value after updating also to the DB sites 2102 to 2104 other than the DB site 2101 having transmitted the request for updating. As a result, also in the DB sites 2102 to 2104, the corresponding copied data is updated using the value after updating transmitted from the main site 2100. Thus a consistency of data is maintained in the entire system. In other words, the possibility of serializing data is insured in the check phase described above, and enhanced consistency management is enabled for preventing generation of contradictions among data.
In the optimistic control system described above, as the centralized management system is employed, the authorized latest value is preserved in the main site 2100. Therefore, when data consistency is checked in the check phase in the optimistic control system, each of the DB sites 2101 to 2104 is required only to issue an inquiry to the main site 2100 and it is not required to lock other copied data. In addition, even when any of the DB sites is down, there is a advantage that the DB site can be ignored to continue the processing.
In the conventional technology as described above, data consistency over a system as a whole can be preserved. However, when an extremely large distributed type of database system extending over an extremely large number of database sites is constructed, it is physically impossible to deliver, each time data is updated, information indicating updating of the data to each of the extremely large number of distributed DB sites from the main site.
Furthermore, in the conventional technology as described above, when a data is updated, there is generated a time lag in delivery of information indicating updating of the data between a DB site that receives the updated data first and a DB site that receives the updated data last. Therefore, consistency management capable of suppressing generation of data contradiction in the entire system at an arbitrary point of time is physically impossible.
In addition, as the main site arbitrates conflicts among requests for updating from a plurality of DB sites, in an extremely large distributed type of database system, work load on the main site remarkably increases. In other words, when a data is updated, the main site is required to transmit information indicating updating of the data to each of the DB sites, and in a case of an extremely large scale distributed type of database system extending over an extremely large number of database sites, work load on the main site remarkably and disadvantageously increases.
Furthermore, because of delay in processing due to remarkable increase of work load on the main site, sometimes transaction in each DB site may be aborted. In such a case, each DB site executes the same transaction again and this results in an increase of a number of unnecessary processing. Especially, in the time stamp-based optimistic control system, priority of transaction for updating in each DB site is determined according to a time stamp, and it is generally believed that the possibility of abortion of transaction is higher as compared to the lock system in which an earlier request for updating is preferentially treated.
In addition, although arbitration for solving conflict among request for updating is executed according to a time stamp, however, there is no global time in each site in a distributed type of database system. Therefore, when time clock used for management in each DB site is not coincident, time of updating of data does not always indicate which data is new or old, which makes it impossible to preserve consistency among data.